var gulp = require('gulp');
var concat = require('gulp-concat');
var clean = require('gulp-clean'); //清空文件夹
var replace = require('gulp-replace'); //替换文件 内容
var deleteEmpty = require('delete-empty');

var paths = {
  js: [
    '../www/js/**/*.js',
    "!../www/js/framework/**/*.js",
  ],
  templates: [
    '../www/templates/**/*.html',
    '../www/templates/**/**/*.html',
    '!../www/templates/common/*.html'],
  img: ['../www/img/**/*.*',
    '!../www/img/sys_*.*'],
};

/**
 * 清理不必要的文件
 * ionic.app.css
 * style.css
 */
gulp.task('default', ['clean-img', 'clean-js', 'clean-html', 'route', 'index'], function (done) {
  deleteEmpty.sync('../www', {force: true});//删除空文件夹
});

gulp.task('index', function (done) {
  var str = /<!-- 自动化脚本插入点-->(.*\s)*<\/head>/;
  var res = '<!-- 自动化脚本插入点-->\n</head>';
  gulp.src('../www/index.html') //该任务针对的文件
    .pipe(replace(str, res))      //删除业务js引用
    .pipe(gulp.dest('../www/'))
    .on('end', done);
});

gulp.task('route', function (done) {
  var str = /\/\/自动化脚本插入点(.*\s)*/;
  var res = '//自动化脚本插入点\n $urlRouterProvider.otherwise(\'/menu\')};';
  gulp.src('../www/js/framework/ionicConfig/ConfigRoute.js') //该任务针对的文件
    .pipe(replace(str, res))      //删除业务js引用
    .pipe(gulp.dest('../www/js/framework/ionicConfig/'))
    .on('end', done);
});

gulp.task('clean-img', function (done) {
  return gulp.src(paths.img, {read: false}) //{read:false}，是不读取文件加快程序。
    .pipe(clean({force: true}))
});

gulp.task('clean-js', function (done) {
  return gulp.src(paths.js, {read: false}) //{read:false}，是不读取文件加快程序。
    .pipe(clean({force: true}))
});

gulp.task('clean-html', function (done) {
  return gulp.src(paths.templates, {read: false}) //{read:false}，是不读取文件加快程序。
    .pipe(clean({force: true}))
});

